Positioning of Programmers

2020-01-11

One terrifying thing is when programmers no longer focus on code, software, systems, and architecture, but rather on products, operations, and sales. Their outlook shifts from improving code quality, iterating better software, and making better engineering to enhancing documentation output and team morale.

startup and 996

The company begins to advocate for an entrepreneurial mindset. In a startup, everyone must work hard together to achieve big things. The BOSS says, he returned to the company late one day and saw certain people still working past 10 PM. Everyone should be like that; we have to do it this way. If you can’t keep up with our pace due to health or other reasons, you might not fit well with our team. We all need to strive together; we need to do 10106. If we don’t do it this way, the company will die.

Hearing this, I couldn’t help but laugh silently. To say something that may not align with common values, I know this mentality is wrong. If the boss saw such thoughts, I’d have to talk to HR tomorrow, which would show a lack of responsibility and professional ethics. But frankly, if the company dies, what does it have to do with me?

It’s all about painting a rosy picture. Normally, you hear people complain about the boss making big promises that seem unattainable after joining, and then post online not to trust the boss’s words. Don’t believe in benefits and bonuses until they’re in your hands. Our situation seems different; if we don’t work hard, the company will die? I’ve heard a saying before: everyone tells us to work hard, but no one tells us what we’ll get after working hard. If the company dies, won’t we just go work elsewhere?

At the annual meeting’s Q&A session, the big BOSS caught onto the term “enjoy the dividends,” suggesting that dividends are not given by the company but are earned by bringing corresponding value to the company. Often, the company’s idea is, you need to give me 20 units of work, and I’ll give you 10 units of profit. Employees think, you give me 10 units of money, I’ll do 10 units of work, and if you give me 5 more units, I’ll put in 5 more units of effort.

996 is a similar issue. Why are we 10106? Because we start work at 9:30 AM, and by the time we open our computers and have a morning meeting, it’s around 10 AM, so it’s 1010, not 99. Regarding 996, one saying is that some employees have a mentality of striving for performance, cultivated from a culture of being rewarded with small red flowers from childhood, leading to the belief that “effort will bring rewards.” Many bosses indeed buy into this.

Yesterday, I heard another perspective. Our BOSS mentioned 10106 but won’t issue an official policy notice because it violates labor laws. This confused me; should we do 10106 or not? I consulted slightly experienced employees and was told the boss likes “smart” employees. In other words, the boss brought up the matter, and it’s up to you to gauge how to handle it.

Overtime

Sometimes, when projects are tight, bugs occur suddenly, or there’s a launch or work error, occasional overtime is normal; there’s busy and idle times. Some companies require frequent overtime, with endless work, known as the 996 work system. Generally speaking, 965 and 996 correspond to different salary levels. The conflict arises when companies want to hire 996 people with 965 salaries, and employees want 996 salaries for 965 work.

There are instances where the boss doesn’t require overtime, but some people still work late. Each person’s division of labor and task volume differs, so does the speed of completion. It depends on the situation. If your efficiency is lower than others, overtime is understandable. The problem arises when others frequently work late due to inefficiency, and you, having finished your tasks, don’t work overtime. The boss might then focus on work hours, questioning if matching others’ work hours would yield more output. A wise leader should discern true work capability and judge output based on work volume, not hours. The worst scenario is the leader pretending to be ignorant of the real situation.

Another case is when the boss asks you to stay a bit longer. There might not be urgent tasks needing overtime, but why leave on time when others stay late? Everyone else is working late; why are you special? The boss might think you should put in more work since overtime should result in more output, possibly rooted in the mindset of taking advantage in Chinese labor culture.

In reality, 996 might not positively impact work output. If everyone leaves on time, I’d feel awkward staying late (seriously). If others can finish their work on time, needing overtime to complete tasks might reflect poorly on one’s ability. Therefore, I’d try to complete my work within office hours. If daily overtime is required, it might lead to a more relaxed work pace during regular hours, knowing that overtime will be needed anyway, thus leaving a good impression on the boss by working late.

Technical People

The company starts advocating for a “sales-oriented” approach because sales directly influence revenue, which the boss values. In a performance review, I first learned about the company’s overall picture from sales and operations. During the review, the BOSS said, “Knowing commonly used models and algorithms in machine learning is quite specific and ordinary. We need to…,” referring to content I had mentioned in my review materials a few days prior.

Actually, technology is not crucial, especially in a sales-oriented company. The specific technology used doesn’t matter as much as closing deals, convincing customers, and making money for the company. In the broader society, technology needs to be advanced and new enough to have a foothold. Machine learning, talked about for over a decade, is indeed quite ordinary and mediocre in its common usage, especially if it doesn’t bring substantial benefits.

Since implementing OKR, our performance plans have two features: they must have goals and results, and these goals and results focus more on self-improvement than work content. Self-improvement mainly refers to output, such as writing internal newsletters, patents, sharing technology, etc., especially things that can help with work. Ironically, we lack a strong technical atmosphere, with only a few key people writing actual code. Performance management shows that leaders don’t care much about work-related content like establishing project and development standards, requirements, development, reviews, testing, etc. They care more about personal achievements.

Often, the situation is the company cares about “what can you bring to the company?” while employees think, “what does the company need me to do?”

Performance reviews are the same; we have to write about work-related but also non-work content. Deep learning is a field worth learning and researching. Even common models and algorithms require at least a year to understand from principles to engineering. Currently, my work involves application layer development, such as CRUD operations, while the department’s technical theme is blockchain, so I put machine learning in the outlook section.

Personally, machine learning is a significant step. It has a certain threshold. I have tried multiple times before, abandoning after watching Andrew Ng’s course and Stanford’s image recognition class. There’s a view that machine learning is the development of calculus in modern computer technology, with its theoretical foundation in mathematics. Some also say blockchain is a small scam, while AI is a big scam… Regardless of the scam, it’s something that needs to be learned.

Programmers

Compared to sales or operations, one characteristic of programmers is less reliance on external resources, connections, market, regulation, and business. Technology changes in form but essentially involves operating a computer to perform calculations. Application layer developers should complete development tasks as required by the schedule, ensuring code quality is their professional responsibility. Improving system architecture skills is necessary. Skilled Coders can efficiently use toolchains, while excellent Coders can optimize algorithms, improving program efficiency and system performance.

Sorry, I am a Coder, and I don’t feel ashamed. (@Don’t call yourself a programmer)